草庐IT

PhpUnit 模拟 : function undefined

全部标签

php - Clover PHPUnit 覆盖率报告包括不需要的文件的覆盖率

我刚刚将CloverPHP设置到我的Jenkins工作中。我正在使用PHPUnit生成三叶草报告,它似乎与显示文件的覆盖率报告不同,一切正常/usr/share/php/SymfonyComponents/YAML/sfYamlInline.php作为报告的一部分。我不确定这是从哪里来的,我猜是PHPUnit或XDebug包含它。显然这不是我自己的代码库的一部分,所以我对此不感兴趣。它正在影响我的项目产生的整体指标。有没有办法从报告中排除该文件?非常感谢,ns编辑答案是使用可以包含过滤器黑名单的phpunitxml配置文件。我会在6小时内正确回答我的问题(stackoverflow让我

php - 在PHP中模拟友元类

我有一个Foo类,其中包含许多公共(public)和私有(private)方法。其中一个方法变得相当大,我想将它fork到一个专门用于该目的的单独类中。像这样:foo=$this;return$x->run($a,$b);}//...}classFooXDoer{public$foo;publicfunctionrun($a,$b){//...}//...}FooXDoer可以通过$this->foo访问Foo的公共(public)方法和属性。我怎样才能让FooXDoer访问Foo的私有(private)方法和属性,而不让它们对已经使用Foo?我是否应该创建一个单独的类FooPriva

php - Symfony: fatal error :找不到类 'PHPUnit_Framework_TestCase'

使用Symfony2.0,我有一个在本地主机上正常工作的整个系统。现在我尝试将其上传到Internet托管。在处理一些错误后,我被困在这里:Fatalerror:Class'PHPUnit_Framework_TestCase'notfoundin/home/preparatest/www/Symfony/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Test/WebTestCase.php(顺便说一句,该类确实存在于该目录中)。有人通过这个吗?注意:我没有特别配置PHPUnit。我想它只是包含在一些Symfony包中。我真的不知道

PHP:同时打开 URL 以模拟 DOS 攻击?

我已经为我的服务器配置了各种反DOS模块(mod_qos、mod_evasive等)。我现在想做的是运行一个简单的PHP脚本,多次调用我网站上的URL,以达到网站上的各种限制。理想情况下,能够以某种方式同时打开各种URL的脚本是理想的。这可能吗?如果没有,模拟来自一个IP的多个请求的最简单方法是什么?我更喜欢在Windows7中运行的工具?更新:请记住,我希望能够查看我的服务器是否真的阻止了某些请求。我只玩了一点AB,但到目前为止还没有显示请求被阻止? 最佳答案 我认为你应该试试这个工具,ApacheabSiegebyJoeDogS

php - paypal IPN 模拟器在直播时总是给出 INVALID 响应,

我正在使用这个:https://github.com/Quixotix/PHP-PayPal-IPN在沙盒测试期间一切正常。我的代码与这个问题中的代码几乎相同:PaypalIPNValidinsandboxINVALIDwhenlive但是,现在我上线了,每次做paypalIPN模拟,总是“INVALID”。是因为我还活着吗?模拟是否仅在我们仍在沙盒中测试时才得到验证? 最佳答案 如果您在向实时PaypalIPN地址发帖时尝试使用模拟器,那么它将返回无效响应。您必须发布到沙盒地址,IPN模拟器才能返回已验证的响应。如果使用具有实时邮

PHPUnit,断言 html 内容

用phpunit断言html字符串中某些内容的最佳方法是什么?在Zend应用程序中有很多断言assertQuery*可用的。但是,如果您不在Zend应用程序中呢?assertXml*看起来不合适。例如,您将如何断言标签...存在于$htmlString考虑到更改id属性的位置不会导致测试失败? 最佳答案 我建议您使用一些库解析HTML字符串,然后使用库API编写断言。有很多好的HTML/XML解析器,例如:http://symfony.com/doc/current/components/dom_crawler.html使用它,您可

php - Laravel 4.1 - 使用 Phpunit 和 Mockery 测试 Artisan 命令

我正在Laravel4.1中编写我的第一个Artisan命令,想获得一些关于如何测试它的想法。我的命令只做一件事(目前)。它基本上从数据库中删除指定天数的表条目(注释)。命令示例:OneTimeNote:delete--days=25该命令效果极佳。但我首先出于学习目的编写了命令,现在我希望通过测试来遵循它。我正在使用PHPUnit和Mockery。命令代码:http://pastebin.com/index/dZrxpt8x如您所见,我正在注入(inject)我的Note实现(用于抽象),然后我正在执行它的方法之一“deleteNotesOlderThan(int$days)”。就像

PHPUnit:如何模拟私有(private)方法?

这个问题在这里已经有了答案:MockprivatemethodwithPHPUnit(11个答案)关闭7年前。我有这样一个类:classA{privatefunctiontesting($x){//dosomething$this->privateMethod();}privatefunctionprivateMethod($number){//dosomething}}为了调用testing()我使用这个:$reflection=new\ReflectionClass('A');$method=$reflection->getMethod('testing');$method->se

php - 如何在 phpunit 中模拟 git diff 的结果

我正在用PHP编写数据库迁移脚本,我需要在phpunit中模拟gitdiff的结果。这个想法是gitdiff将只返回自上次提交以来在includes/中添加或更新的文件的名称。但当然,随着我处理脚本并提交我的更改,这会不断变化。这是Migrate类和gitDiff方法:#!/usr/bin/php有什么想法吗? 最佳答案 在PHPUnit中:$mock=$this->getMockBuilder('Migrate')->setMethods(array('getDiff'))->getMock();$mock->expects($t

php - 使用 PHPUnit 在 doctrine2 中模拟 findOneBy"field"

如果我模拟存储库方法find我会得到预期的结果,但如果我调用findBy、findOneBy、findOneById中的任何一个,我总是得到null。代码示例:$mock->expects($this->once())->method('getId')->will($this->returnValue(1));$mockRepository->expects($this->any())->method('findBy')//ifhereIuse'find'worksforallothercasesalwaysnull->will($this->returnValue($mock));发